package com.codemeta.bokit.props;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * web配置文件对象
 *
 * @author hice
 */
@Data
@ConfigurationProperties(prefix = "bokit.web")
public class WebProps {

    /**
     * API 前缀，实现所有 Controller 提供的 RESTFul API 的统一前缀
     *
     * <p> 意义：通过该前缀，避免 Swagger、Actuator 意外通过 Nginx 暴露出来给外部，带来安全性问题
     * 这样，Nginx 只需要配置转发到 /api/* 的所有接口即可。
     */
    private String apiPrefix = "/api";

    /**
     * Controller 所在包
     *
     * <p> 主要目的是，给该 Controller 设置指定的 {@link #apiPrefix}
     * <p>
     * 因为我们有多个 modules 包里会包含 Controller，所以只需要写到 com.codemeta.bokit 这样的层级
     */
    private String controllerPackage = "com.codemeta.bokit";

}